package com.px.service.mapper;

import java.util.List;

import com.px.service.domain.Deceased;
import org.apache.ibatis.annotations.Param;

/**
 * 逝者Mapper接口
 *
 * @author 品讯科技
 * @date 2024-08
 */
public interface DeceasedMapper {
    /**
     * 查询逝者
     *
     * @param id 逝者主键
     * @return 逝者
     */
    public Deceased selectDeceasedById(Long id);

    /**
     * 查询逝者列表
     *
     * @param deceased 逝者
     * @return 逝者集合
     */
    public List<Deceased> selectDeceasedList(Deceased deceased);

    /**
     * 新增逝者
     *
     * @param deceased 逝者
     * @return 结果
     */
    public int insertDeceased(Deceased deceased);

    /**
     * 修改逝者
     *
     * @param deceased 逝者
     * @return 结果
     */
    public int updateDeceased(Deceased deceased);

    /**
     * 删除逝者
     *
     * @param id 逝者主键
     * @return 结果
     */
    public int deleteDeceasedById(Long id);

    /**
     * 批量删除逝者
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDeceasedByIds(Long[] ids);

    /**
     * 查询逝者列表
     *
     * @param hallId 纪念馆id
     * @return 逝者集合
     */
    List<Deceased> selectDeceasedListByHallId(@Param("hallId") long hallId);

    /**
     * 根据纪念馆id删除逝者信息
     *
     * @param hallId 纪念馆id
     * @return 结果
     */
    int deleteDeceasedByHallId(@Param("hallId") Long hallId);

    /**
     * 查询今日生祭的逝者列表
     *
     * @param lunarMonth 农历月
     * @param lunarDay   农历日
     * @return 逝者集合
     */
    List<Deceased> selectTodayDeceasedList(@Param("lunarMonth") int lunarMonth, @Param("lunarDay") int lunarDay);
}
